﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NCT.INVPOS.DataAccessLayer.Entity
{
    public class Product : IEntity
    {
        public Product()
        {
            ListPrice = 4D;
            SalesPrice = 4D;
            Discount1 = 4D;
            Discount2 = 4D;
            Discount3 = 4D;
            Discount4 = 4D;
            Discount5 = 4D;
            Cost = 4D;
            QtyOnHand = 0;
            ExtendedCost = 4D;
            IsTaxable = true;
            IsActive = true;
        }

        public int Id { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public string Code { get; set; }
        public string Model { get; set; }

        public int? ManufacturerId { get; set; }
        public int? CategoryId { get; set; }

        public virtual Manufacturer Manufacturer { get; set; }
        public virtual Category Category { get; set; }

        public double ListPrice { get; set; }
        public double SalesPrice { get; set; }
        public double Discount1 { get; set; }
        public double Discount2 { get; set; }
        public double Discount3 { get; set; }
        public double Discount4 { get; set; }
        public double Discount5 { get; set; }
        public double Cost { get; set; }
        public int QtyOnHand { get; set; }

        public double ExtendedCost { get; set; }

        public int? SupplierId { get; set; }

        public virtual Supplier Supplier { get; set; }

        public bool IsTaxable { get; set; }

        public int? BranchId { get; set; }
        public virtual Branch Branch { get; set; }

        public bool IsActive { get; set; }

    }
}
